#ifndef _LJMU_TEXTUREMGR_H_
#define _LJMU_TEXTUREMGR_H_

#include <d3d10.h>
#include <d3dx10math.h>
#include <vector>
#include <string>

/**********************************
*
*
*
*
**********************************/
class LJMUUtilTextureMgr
{
public:
	friend LJMUUtilTextureMgr& GetTextureMgr()
	{
		
	}
	typedef std::vector<std::wstring> LJMUStringList;
 	void initialise(ID3D10Device* pdevice);

	ID3D10ShaderResourceView* createTex(std::wstring pfilename);
	ID3D10ShaderResourceView* createTexArray(std::wstring parrayid,const LJMUStringList& ptexlist);

private:
	LJMUUtilTextureMgr():_obj_dx10_device(NULL){};
	LJMUUtilTextureMgr(const LJMUUtilTextureMgr& rhs){};
	LJMUUtilTextureMgr& operator=(const LJMUUtilTextureMgr& rhs){};
	~LJMUUtilTextureMgr(){};
	LJMUUtilTextureMgr& GetTextureMgr()
	{
		static LJMUUtilTextureMgr tm;
		return tm;
	}

private:
	ID3D10Device*							_obj_dx10_device;
	LJMUStringList							_list_tex_cache;
	std::vector<ID3D10ShaderResourceView*>	_list_tex_rv;
};
#endif 